The rapid worldwide growth in reliance upon computers, smart phones and other electronic processing devices in recent years have increased the demand for data storage. This increased dependence on digital data and data storage creates a need for greater storage efficiency.
Improving storage efficiency is an important goal driving optimizations in data centers, and other networked processing environments. Storage efficiency can be obtained through multi-tenancy, where multiple sets of data are stored at a component in a physical storage system. A “component” can refer to a physical and/or virtual device within the physical storage system or it can refer to a sub-device, such as a RAID system within a server, and/or a disk device within the RAID system. “Multi-tenancy” refers to the technique of employing two or more virtual components, such as servers, within one corresponding physical component (e.g., a physical computer). While the virtual components allow for efficient resource sharing in storage system, management of these virtual components can present challenges.
One problem in managing multi-tenancy in physical storage systems is finding a method to efficiently route infrastructure events throughout a data center, or other networked processing environment, for delivery to components that may be affected by such events, so that the affected components can respond appropriately. An infrastructure event is a change that can occur at a component within the physical storage system. The event can be a major change, such as the failure of the component, or a minor change, such as a policy change that reallocates resources of the component. In modern virtualized multi-tenant data centers the number of monitored components can be orders of magnitude higher than in a traditional data center, thus compounding the problem of efficiently routing infrastructure events.
Current storage management systems handle the problem of routing event notifications by using a single management machine. The single management machine operates over a list of entities that monitor components within an infrastructure and polls each entity for event notifications. The notifications are centrally gathered on the single management machine so that they can be delivered to entities monitoring components affected by the event. This method has at least two drawbacks: (1) the entire set of entities is kept in a single machine, thereby requiring a machine with large amounts of memory (“RAM”), and (2) event processing is limited by the performance of this one machine. Both drawbacks limit the efficiency and scalability of the current approach, thus making it not well-suited for handling large number of entities and events within a single virtualized data center.